#ifndef __PluginMgr__
#define __PluginMgr__
#include <wx/xml/xml.h>
#include <wx/hashmap.h>

class PluginHouse {
	public:
	wxString plugin_name; //same as hash key
	wxString file_name;
	wxString file_path;
	wxString tree_uid;
	wxString tree_path;
	wxString tree_name;
	wxString icon_file;
	bool has_display_tab_gui;

	wxString toString();
};
class PluginMgr {
	public:
		int max;
		int cnt;
		PluginMgr(void);
		bool loadConfig(void);
		void saveConfig(void);
		PluginHouse first(void);
		PluginHouse next(void);
		bool end(void);
	private:
	wxXmlDocument configuration;
	//hash in which to store plugin info
	WX_DECLARE_HASH_MAP( wxString , PluginHouse, wxStringHash, wxStringEqual, PluginHouseHash );
	PluginHouseHash ph;
	PluginHouseHash::iterator phit;
	PluginHouseHash::iterator phend;
};

#endif // __PluginMgr__
